3D图形编程届的扛把子“OpenGL”到底厉害在哪?

大家可能对图形编程有些陌生,往小了说,我们在计算机或手机上玩游戏时,看到的一些3D特效,都是通过图形编程实现的。往大了说,无论是Windows、iOS还是Android,能看到的界面本身就是图形编程的杰作。

图形编程面临的一个最基本的问题就是如何用程序在显示器上绘制东西,比如一个按钮、一张美女图片、一个正在放大招的英雄。简单来说,有两种绘制方式:一种是CPU在内存里准备好了要绘制的东西,然后交给显示器显示;另一种是显卡在显存里准备好要绘制的东西,交给显示器显示。前者称为软件绘制,因为CPU本身并不擅长做图形相关的运算,效率也就高不到哪儿去。后者称为硬件加速,显卡天生就是用来处理图像的,所以效率很高。这也就是为什么我们常说大型游戏吃显卡,但只需要一个入门级的CPU就能流畅运行了,因为在它们运行的时候,CPU其实是个配角。

那么问题来了,如何才能充分调动显卡的强大能力,帮助我们绘制图形呢?OpenGL就是为此而生的。OpenGL是一组API,这些API可以运行在不同的平台上,可以支持各种语言。最重要的是,它能利用显卡的硬件加速能力,帮助我们绘制图形。


700多个API,每个API代表一种能力,比如其中有一个叫glClearColor,可以把屏幕涂成用户想要的颜色。OpenGL 得以流行,还有一个很重要的原因是跨平台。无论用 C++语言写程序,在PC上运行,还是用Objective-C语言写程序,在iOS上运行,都能用OpenGL。Java能够实现跨平台是因为它下面有一个虚拟机,不同的平台都做了兼容,给上层调用的都是一样的API。OpenGL也是这样做的。用OpenGL做图形编程,根本不用担心平台不适配问题,因为已经有人把这些脏活累活都做了,适配好了。但是读者可千万不要误会,以为OpenGL就只是几百个API。

实际上它有自己的一套规则。在任何一本介绍OpenGL的书上,都能看到这样一句话:OpenGL是一个状态机。什么意思呢?状态机控制很多状态不停地切换。OpenGL的几百个API里,有不少是用来设置状态的。每次设置一个状态,都是一次状态切换,直到最终绘制完成。比如设置画笔的颜色是红色,那么之后绘制的所有图形都是红色的,直到设置成绿色,后面才会绘制绿色的图形。

我们用地图导航举例。当用户选定了目的地之后,导航路线就生成了。用户可以把整条路线里的每一条小路当作一个状态,每进入一条小路就切换一次状态。这样经过一个又一个的状态切换,最后会到达目的地。

对OpenGL来说,状态切换过程结束,绘制任务就完成了。OpenGL的绘制流程大约要经过几个步骤。首先,要把要画的东西拆成三角形之类的基本图形,然后在三维空间坐标系里给它们安排合适的位置,之后把灯光加上去,使要画的东西有一种立体感,最后,把这些东西转化成屏幕上的像素点(即光栅化),整个绘制就算是完成了。OpenGL这两年比较火,主要还是因为iOS和Android都靠它来做游戏、写界面。严格地说,在移动平台上,大家用的是OpenGL-ES,是OpenGL的一个子集。

OpenGL 有700多个API,OpenGL-ES 裁掉了其中不常用的、移动端不好用的一些API。麻雀虽小,五脏俱全,OpenGL-ES也可以充分发挥显卡的硬件加速能力,让手机界面操作如丝般顺滑。

免责声明:本文作者:“邓锄头”,版权归作者所有,观点仅代表作者本人。本站仅提供信息存储分享服务,不拥有所有权。信息贵在分享,如有侵权请联系ynstorm@foxmail.com,我们将在24小时内对侵权内容进行删除。
(118)
大幅面彩色扫描仪(扫描仪扫描图象出现彩色
上一篇 2024年01月04日
路由器跟猫的区别(为什么路由器不烫)
下一篇 2024年01月04日

相关推荐

  • 魅族mx3与小米3(小米手机怎么样)

    现在用“小米手机怎么样”已经不能不能形容小米手机了,毕竟小米这一年的发展还是很不错的,在产品和口碑上都取得了不错的成绩。自红米独立后,小米和红米的发展就呈现出两种极端的方式,那现在要说小米手机怎么样,就得从两个品牌进行分析了:小米逐步站稳高端...

    2023年11月14日
  • 如何校验md5(md5校验工具是什么)

    是绿色程序,无需安装下载解压即可使用,大小只有300多KB,轻巧好用,使用方便直接将任意文件拖拽到程序界面即可自动获取任意文件的md5校验值,并且附带修改程序md5值的功能。...

    2023年11月22日
  • i699(有哪些免费的思维导图软件可以推荐)

    大家好,我叫MindMaster,是一款专业的思维导图软件,在2017年出生于深圳,是一名纯正的中国宝宝,今年3岁了。...

    2023年11月27日
  • 电影剪辑软件(但是不知道怎么下载电影电视)

    现在很多自媒体上传小视频,而很多较大的文件时间都比较长,那么如何在在这些长时间的视频、电影、电视中截取小视频...

    2023年11月29日
  • 显卡性能天梯图(2000左右显卡推荐排行)

    玩物派根据各大平台销量、口碑、评价等数据,甄选出了2000以内性价比最高显卡排行榜:其中铭瑄RX580游戏显卡、华硕RX580雪豹8G显卡以及华硕rx580发烧级显卡,综合排序位居前三名,而其他产品也同样优秀,如果您正在寻找性价比或者是人气最...

    2023年12月04日
  • 黄金装扮合成器礼包(王者荣耀局内道具合成是什么意思)

    在多次游戏体验渐渐的熟悉完大神们的出装,这时候你会有了自己的一些出装思路发现其实有些装备可以进行改动不必要跟着出,这些装备可能由于大神根据自身的符文还有英雄定位不同选择的,所以还是根据玩家自己的理解加上喜好调整一下自己的专属装备,亦或者是调整...

    2023年12月05日
  • 节电模式(显示屏显示节电模式是怎么了)

    可能是你的主机硬件有问题了,那就拆开机箱检查下内存条、电路线、硬盘,把这些拔出来用橡皮擦拭干净接口,再重新插入试试,适当清清灰。或者检查主机与显示器连接线是否松动,一般情况下重新插拔就好了。...

    2024年01月09日
  • dos命令start教程,并行运行exe程序或者启动bat批处理cmd脚本

    大家好,我是老盖,首先感谢观看本文,本篇文章做的有视频,视频讲述的比较详细,也可以看我发布的视频。今天我们学习DOS命令start这个命令,它可以启动一个EXE程序,也可以启动一个BAT批处理脚本,这个命令我们经常用到,是一个比较重要的命令,...

    2024年02月21日
  • 索爱C905--当年的拍照机王

    功能机曾经的拍照机王---索爱C905▲以往挂上Cyber-shot名牌的索爱手机,都是清一色的直立手机,而于CMMA2008亚洲电信展发表的索爱新Cyber-shot系列旗舰C905,则是第一款滑盖机。C905将拍照手机的科技提升到新的水平...

    2024年04月06日
  • 怎样关闭安全警报(汽车安全气囊系统警报提示)

    安全气囊灯亮的原因之电路问题当我们谈到电路,大家知道电路的问题,有各种各样的情况,看看它是否可能连接异常。常用的是用检测仪检查故障,是否线路是顺通,如信号线电压均正常,测量搭铁线有没有断路迹象。看能否进入到它的控制单元,一个个测试检查,如发现...

    2024年06月25日
返回顶部